package com.rrd.dw.mr.text.model;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "preCArequest")
@XmlAccessorType(XmlAccessType.FIELD)
public class PreCArequest extends BaseObject {
    @XmlElement(name = "LendRequest")
    private LendRequest lendRequest;
    @XmlElement(name = "PBCReport")
    private PBCReport pbcReport;
    @XmlElementWrapper(name = "PBCReportItems")
    @XmlElements(value = {
        @XmlElement(name = "PBCReportItem", type = PBCReportItem.class) })
    private List<PBCReportItem> pbcReportItems;

    @XmlElementWrapper(name = "PBCCreditReportQueryRecords")
    @XmlElements(value = { @XmlElement(name = "PBCCreditReportQueryRecord",
            type = PBCCreditReportQueryRecord.class) })
    private List<PBCCreditReportQueryRecord> pbcCreditReportQueryRecords;

    @XmlElement(name = "TongDun")
    private TongDun tongDun;
    @XmlElement(name = "BlackList")
    private BlackList blackList;

    @XmlElement(name = "JuXinLiMiGuan")
    private JuXinLiMiGuan juXinLiMiGuan;

    @XmlElement(name = "blacklist_category")
    private Blacklist_category blacklist_category;

    @XmlElement(name = "IspInfo")
    private IspInfo ispInfo;

    @XmlElement(name = "IspContactList")
    private IspContactList ispContactList;

    @XmlElementWrapper(name = "QHRisks")
    @XmlElements(value = { @XmlElement(name = "QHRisk", type = QHRisk.class) })
    private List<QHRisk> qhRisks;

    @XmlElement(name = "InvolvedInfo")
    private InvolvedInfo involvedInfo;

    @XmlElement(name = "CCXPhone")
    private CCXPhone ccxPhone;
    @XmlElement(name = "CCXPhoneStatus")
    private CCXPhoneStatus ccxPhoneStatus;

    @XmlElement(name = "PengYuanEdu")
    private PengYuanEdu pengYuanEdu;
    @XmlElement(name = "FacePlusPlus")
    private FacePlusPlus facePlusPlus;

    @XmlElement(name = "LendRequestCount")
    private LendRequestCount lendRequestCount;
    @XmlElement(name = "AntiFraud")
    private AntiFraud antiFraud;
    @XmlElement(name = "user_call_behavior_analysis")
    private User_call_behavior_analysis user_call_behavior_analysis;

    @XmlElementWrapper(name = "Plists")
    @XmlElements(value = { @XmlElement(name = "Plist", type = Plist.class) })
    private List<Plist> plists;

    @XmlElement(name = "Reloan")
    private Reloan reloan;

    @XmlElement(name = "ZMCreditAntifraudScore")
    private ZMCreditAntifraudScore zmCreditAntifraudScore;

    @XmlElementWrapper(name = "ZmCreditAntifraudVerifyCode")
    @XmlElements(
            value = { @XmlElement(name = "verify_code", type = String.class) })
    private List<String> zmCreditAntifraudVerifyCode;

    @XmlElementWrapper(name = "ZMCreditAntifraudRiskList")
    @XmlElements(
            value = { @XmlElement(name = "risk_code", type = String.class) })
    private List<String> risk_codes;

    @XmlElement(name = "ZMCreditScore")
    private ZMCreditScore zmCreditScore;
    @XmlElement(name = "ZMCreditWatchlistii")
    private ZMCreditWatchlistii zmCreditWatchlistii;

    @XmlElementWrapper(name = "ContactLendRequestList")
    @XmlElements(value = { @XmlElement(name = "ContactLendRequest",
            type = ContactLendRequest.class) })
    private List<ContactLendRequest> contactLendRequestList;

    @XmlElement(name = "external_blacklist")
    private External_blacklist external_blacklist;
    @XmlElement(name = "Channel")
    private Channel channel;

    @XmlElement(name = "SuanHua")
    private SuanHua suanHua;
    @XmlElement(name = "PhoneList")
    private PhoneList phoneList;
    @XmlElement(name = "TianJixgscore")
    private TianJixgscore tianJixgscore;

    @XmlElementWrapper(name = "beContactLendStatusList")
    @XmlElements(value = { @XmlElement(name = "beContactLendStatus",
            type = BeContactLendStatus.class) })
    private List<BeContactLendStatus> beContactLendStatusList;

    @XmlElementWrapper(name = "bePhonelistStatusList")
    @XmlElements(value = { @XmlElement(name = "bePhonelistStatus",
            type = BePhonelistStatus.class) })
    private List<BePhonelistStatus> bePhonelistStatusList;

    @XmlElementWrapper(name = "beCalllistStatusList")
    @XmlElements(value = {
        @XmlElement(name = "beCalllistStatus", type = BeCalllistStatus.class) })
    private List<BeCalllistStatus> beCalllistStatusList;

    @XmlElementWrapper(name = "ContactbeContactLendStatusList")
    @XmlElements(value = { @XmlElement(name = "ContactbeContactLendStatus",
            type = ContactbeContactLendStatus.class) })
    private List<ContactbeContactLendStatus> contactbeContactLendStatusList;

    public LendRequest getLendRequest() {
        if (lendRequest == null)
            return new LendRequest();
        return lendRequest;
    }

    public void setLendRequest(LendRequest lendRequest) {
        this.lendRequest = lendRequest;
    }

    public List<PBCReportItem> getPbcReportItems() {
        if (pbcReportItems == null)
            return new ArrayList<>();
        return pbcReportItems;
    }

    public void setPbcReportItems(List<PBCReportItem> pbcReportItems) {
        this.pbcReportItems = pbcReportItems;
    }

    public PBCReport getPbcReport() {
        if (pbcReport == null)
            return new PBCReport();
        return pbcReport;
    }

    public void setPbcReport(PBCReport pbcReport) {
        this.pbcReport = pbcReport;
    }

    public List<PBCCreditReportQueryRecord> getPbcCreditReportQueryRecords() {
        if (pbcCreditReportQueryRecords == null)
            return new ArrayList<>();
        return pbcCreditReportQueryRecords;
    }

    public void setPbcCreditReportQueryRecords(
            List<PBCCreditReportQueryRecord> pbcCreditReportQueryRecords) {
        this.pbcCreditReportQueryRecords = pbcCreditReportQueryRecords;
    }

    public TongDun getTongDun() {
        if (tongDun == null)
            return new TongDun();
        return tongDun;
    }

    public void setTongDun(TongDun tongDun) {
        this.tongDun = tongDun;
    }

    public BlackList getBlackList() {
        if (blackList == null)
            return new BlackList();
        return blackList;
    }

    public void setBlackList(BlackList blackList) {
        this.blackList = blackList;
    }

    public JuXinLiMiGuan getJuXinLiMiGuan() {
        if (juXinLiMiGuan == null)
            return new JuXinLiMiGuan();
        return juXinLiMiGuan;
    }

    public void setJuXinLiMiGuan(JuXinLiMiGuan juXinLiMiGuan) {
        this.juXinLiMiGuan = juXinLiMiGuan;
    }

    public Blacklist_category getBlacklist_category() {
        if (blacklist_category == null)
            return new Blacklist_category();
        return blacklist_category;
    }

    public void setBlacklist_category(Blacklist_category blacklist_category) {
        this.blacklist_category = blacklist_category;
    }

    public IspInfo getIspInfo() {
        if (ispInfo == null)
            return new IspInfo();
        return ispInfo;
    }

    public void setIspInfo(IspInfo ispInfo) {
        this.ispInfo = ispInfo;
    }

    public IspContactList getIspContactList() {
        if (ispContactList == null)
            return new IspContactList();
        return ispContactList;
    }

    public void setIspContactList(IspContactList ispContactList) {
        this.ispContactList = ispContactList;
    }

    public List<QHRisk> getQhRisks() {
        return qhRisks;
    }

    public void setQhRisks(List<QHRisk> qhRisks) {
        this.qhRisks = qhRisks;
    }

    public InvolvedInfo getInvolvedInfo() {
        if (involvedInfo == null)
            return new InvolvedInfo();
        return involvedInfo;
    }

    public void setInvolvedInfo(InvolvedInfo involvedInfo) {
        this.involvedInfo = involvedInfo;
    }

    public CCXPhone getCcxPhone() {
        if (ccxPhone == null)
            return new CCXPhone();
        return ccxPhone;
    }

    public void setCcxPhone(CCXPhone ccxPhone) {
        this.ccxPhone = ccxPhone;
    }

    public CCXPhoneStatus getCcxPhoneStatus() {
        if (ccxPhoneStatus == null)
            return new CCXPhoneStatus();
        return ccxPhoneStatus;
    }

    public void setCcxPhoneStatus(CCXPhoneStatus ccxPhoneStatus) {
        this.ccxPhoneStatus = ccxPhoneStatus;
    }

    public PengYuanEdu getPengYuanEdu() {
        if (pengYuanEdu == null)
            return new PengYuanEdu();
        return pengYuanEdu;
    }

    public void setPengYuanEdu(PengYuanEdu pengYuanEdu) {
        this.pengYuanEdu = pengYuanEdu;
    }

    public FacePlusPlus getFacePlusPlus() {
        if (facePlusPlus == null)
            return new FacePlusPlus();
        return facePlusPlus;
    }

    public void setFacePlusPlus(FacePlusPlus facePlusPlus) {
        this.facePlusPlus = facePlusPlus;
    }

    public LendRequestCount getLendRequestCount() {
        if (lendRequestCount == null)
            return new LendRequestCount();
        return lendRequestCount;
    }

    public void setLendRequestCount(LendRequestCount lendRequestCount) {
        this.lendRequestCount = lendRequestCount;
    }

    public AntiFraud getAntiFraud() {
        if (antiFraud == null)
            return new AntiFraud();
        return antiFraud;
    }

    public void setAntiFraud(AntiFraud antiFraud) {
        this.antiFraud = antiFraud;
    }

    public User_call_behavior_analysis getUser_call_behavior_analysis() {
        if (user_call_behavior_analysis == null)
            return new User_call_behavior_analysis();
        return user_call_behavior_analysis;
    }

    public void setUser_call_behavior_analysis(
            User_call_behavior_analysis user_call_behavior_analysis) {
        this.user_call_behavior_analysis = user_call_behavior_analysis;
    }

    public List<Plist> getPlists() {
        if(plists == null)
            return new ArrayList<>();
        return plists;
    }

    public void setPlists(List<Plist> plists) {
        this.plists = plists;
    }

    public Reloan getReloan() {
        if (reloan == null)
            return new Reloan();
        return reloan;
    }

    public void setReloan(Reloan reloan) {
        this.reloan = reloan;
    }

    public ZMCreditAntifraudScore getZmCreditAntifraudScore() {
        if (zmCreditAntifraudScore == null)
            return new ZMCreditAntifraudScore();
        return zmCreditAntifraudScore;
    }

    public void setZmCreditAntifraudScore(
            ZMCreditAntifraudScore zmCreditAntifraudScore) {
        this.zmCreditAntifraudScore = zmCreditAntifraudScore;
    }

    public String getZmCreditAntifraudVerifyCode() {
        StringBuffer sb = new StringBuffer("");
        if (this.zmCreditAntifraudVerifyCode != null) {
            for (String code : this.zmCreditAntifraudVerifyCode) {
                sb.append(code);
                sb.append(",");
            }
        }
        if (sb.toString().endsWith(",")) {
            sb.deleteCharAt(sb.length() - 1);
        }
        return sb.toString();
    }

    public void setZmCreditAntifraudVerifyCode(
            List<String> zmCreditAntifraudVerifyCode) {
        this.zmCreditAntifraudVerifyCode = zmCreditAntifraudVerifyCode;
    }

    public String getRisk_codes() {
        StringBuffer sb = new StringBuffer("");
        if (this.risk_codes != null) {
            for (String code : this.risk_codes) {
                sb.append(code);
                sb.append(",");
            }
        }
        if (sb.toString().endsWith(",")) {
            sb.deleteCharAt(sb.length() - 1);
        }
        return sb.toString();
    }

    public void setRisk_codes(List<String> risk_codes) {
        this.risk_codes = risk_codes;
    }

    public ZMCreditScore getZmCreditScore() {
        if (zmCreditScore == null)
            return new ZMCreditScore();
        return zmCreditScore;
    }

    public void setZmCreditScore(ZMCreditScore zmCreditScore) {
        this.zmCreditScore = zmCreditScore;
    }

    public ZMCreditWatchlistii getZmCreditWatchlistii() {
        if (zmCreditWatchlistii == null)
            return new ZMCreditWatchlistii();
        return zmCreditWatchlistii;
    }

    public void setZmCreditWatchlistii(
            ZMCreditWatchlistii zmCreditWatchlistii) {
        this.zmCreditWatchlistii = zmCreditWatchlistii;
    }

    public List<ContactLendRequest> getContactLendRequestList() {
        return contactLendRequestList;
    }

    public void setContactLendRequestList(
            List<ContactLendRequest> contactLendRequestList) {
        this.contactLendRequestList = contactLendRequestList;
    }

    public External_blacklist getExternal_blacklist() {
        if (external_blacklist == null)
            return new External_blacklist();
        return external_blacklist;
    }

    public void setExternal_blacklist(External_blacklist external_blacklist) {
        this.external_blacklist = external_blacklist;
    }

    public Channel getChannel() {
        if (channel == null)
            return new Channel();
        return channel;
    }

    public void setChannel(Channel channel) {
        this.channel = channel;
    }

    public SuanHua getSuanHua() {
        if (suanHua == null)
            return new SuanHua();
        return suanHua;
    }

    public void setSuanHua(SuanHua suanHua) {
        this.suanHua = suanHua;
    }

    public PhoneList getPhoneList() {
        if (phoneList == null)
            return new PhoneList();
        return phoneList;
    }

    public void setPhoneList(PhoneList phoneList) {
        this.phoneList = phoneList;
    }

    public TianJixgscore getTianJixgscore() {
        if (tianJixgscore == null)
            return new TianJixgscore();
        return tianJixgscore;
    }

    public void setTianJixgscore(TianJixgscore tianJixgscore) {
        this.tianJixgscore = tianJixgscore;
    }

    public List<BeContactLendStatus> getBeContactLendStatusList() {
        return beContactLendStatusList;
    }

    public void setBeContactLendStatusList(
            List<BeContactLendStatus> beContactLendStatusList) {
        this.beContactLendStatusList = beContactLendStatusList;
    }

    public List<BePhonelistStatus> getBePhonelistStatusList() {
        return bePhonelistStatusList;
    }

    public void setBePhonelistStatusList(
            List<BePhonelistStatus> bePhonelistStatusList) {
        this.bePhonelistStatusList = bePhonelistStatusList;
    }

    public List<BeCalllistStatus> getBeCalllistStatusList() {
        return beCalllistStatusList;
    }

    public void setBeCalllistStatusList(
            List<BeCalllistStatus> beCalllistStatusList) {
        this.beCalllistStatusList = beCalllistStatusList;
    }

    public List<ContactbeContactLendStatus> getContactbeContactLendStatusList() {
        return contactbeContactLendStatusList;
    }

    public void setContactbeContactLendStatusList(
            List<ContactbeContactLendStatus> contactbeContactLendStatusList) {
        this.contactbeContactLendStatusList = contactbeContactLendStatusList;
    }
}
